XCTF_easylaravel
XCTF_easylaravel首先关于Laravel:重置密码 - Laravel 5.4 - Web Artisans 的 PHP 框架 先登录网站,登录注册什么的功能都有,扫描目录的时候看一下网页代码,发现是个代码审计题: 后续路径扫描找到了一个upload,但是没什么用上不去。 下载源码看一下,发现有composer.json,于是composer install一下 看一下路由: 发现有一个flag路由,跟进一下 发现使用了中间件,一个是要身份验证,还有一个应该是要管理员身份才能拿到flag,那看一下中间件怎么控制的。 没直接找到名字为admin的中间件,在Kernel.php看一下注册的名字关联: 查看这个中间件代码,发现需要账户的邮箱为指定的管理员邮箱: 看一下用户注册的代码Regi..
Read moreHTB_Cap
Hack the box walkthrough
Read moreBUUCTF
warmUp1<?php highlight_file(__FILE__); class emmm { public static function checkFile(&$page) { $whitelist = ["source"=>"source.php","hint"=>"hint.php"]; if (! isset($page) || !is_string($page)) { echo "you can't s..
Read moreMISC-NTA
Intro to Network Traffic Analysis (hackthebox.com) 基础介绍OSI 协议数据单元(PDU) TCP三路握手TCP确保数据从服务器传递到客户端的方法之一是会话的利用率。这些会话是通过所谓的三方握手建立的。为了实现这一点,TCP在TCP标头中使用了一个名为flags的选项。我们现在不会深入研究TCP标志;要知道,我们将在三方握手中看到的常见标志是同步(SYN)和确认(ACK)。当主机请求通过TCP与服务器进行对话时; 客户端发送SYN标志设置为开启的数据包,以及TCP报头中的其他可协商选项。 这是一个同步数据包。它将只在来自主机和服务器的第一个数据包中设置,并通过允许两端就开始通信的序列号达成一致来建立会话。 这对于数据包的跟踪至关重要。除了序列号同步,在这..
Read moreDVWA
前言都只尝试审计一下高难度,顺带练习一下代码审计工具,这里impassible难度是已经防御好的,high是高难度,我们主要关注这两个部分的源码 Brute Force暴力破解,感觉没什么好审的,还是看看源码: prepare( 'SELECT failed_login, last_login FROM users WHERE user = (:user) LIMIT 1;' ); $data->bindParam( ':user', $user, PDO::PARAM_STR ); $data->execute(); $row = $data->fetch(); // Check to see if the user has been locked out. if( ( $..
Read morejava反序列化前瞻
前言给java反序列化上个引子,顺带把webgoat代码审计结束了 本来要开始学链子了,但是网警和技侦要开始考试了,打算突击一下ctf和代码审计,下个月在正式学习java反序列化 Java 流(Stream)、文件(File)和IO | 菜鸟教程 (runoob.com) 序列化和反序列化 Java 序列化是一种将对象转换为字节流的过程,以便可以将对象保存到磁盘上,将其传输到网络上,或者将其存储在内存中,以后再进行反序列化,将字节流重新转换为对象。 序列化在 Java 中是通过 java.io.Serializable 接口来实现的,该接口没有任何方法,只是一个标记接口,用于标识类可以被序列化。 当你序列化对象时,你把它包装成一个特殊文件,可以保存、传输或存储。反序列化则是打开这个文件,读取序列化的数据,然..
Read more爬虫
概要这是大数据隐私保护课程的实验-自动化新闻采集,只是简单的实验和记录,不作深入研究 反爬虫机制 robots.txt IP封锁和频率限制 验证码 User-Agent检测 动态内容生成 Honypot技术 反反爬虫技术 rss谷歌新闻提供的rss,也就是xml的数据非常方便于信息采集: 半结构化的数据,但是谷歌有被反爬的风险 百度新闻 https://www.baidu.com/s?rtt=1&bsst=1&cl=2&tn=news&ie=utf-8&word=%E6%BB%91%E5%9D%A1 这里我们关注一下url的传参: rtt bsst cl tn ie word 找到返回的报文观察我们需要爬取的字段特征 beautifulsoupf..
Read moreWebGoat-CSRF
3这题模拟一个简单的csrf,从外源触发这个表单就可以得到flag: 抓包,然后使用插件制作一个payload,简单看一下: 相当于创建了一个表单,然后让他生成相同内容的请求包,但是这个表单显然比较初级,可以加入一些自动触发的dom事件在打开链接时自动触发提交表单,这里主要做代码审计,故不多做演示 打开burp pro比较麻烦,这里直接复制源码的表单元素,然后放到wolf触发: <form accept-charset="UNKNOWN" id="basic-csrf-get" method="POST" name="form1" target="_blank" successcallback=&q..
Read moreWebGoat-XSS
xss-7 这里直接点击购买看一下有哪些数据可以回显,然后发现是card number,然后在card number这个输入框注入代码: <scrpt>alert('xxx')</scrpt> or <scrpt>console.log('xxx')</scrpt> 源码部分: Java Pattern compile(String)用法及代码示例_pattern.compile_yinger553的博客-CSDN博客 写了一个正则匹配 这里我们可以看到field1也就是card number我们是可以控制的,并且只是简单的拼接没有经过过滤,而这里根据前后文来看他有一些html标签,说明前端会解析我们的字符串,我们必定是可..
Read moreWebGoat-Broken Access Control
IDOR-2 许多访问控制问题容易受到经过身份验证但未经授权的用户的攻击。因此,让我们从合法身份验证开始。然后,我们将寻找绕过或滥用授权的方法。 这里只是输入tom或者cat进行登录,进入下一题进行IDOR审查 IDOR-3 抓包看一看没有显示的属性 看一下源码: 我们发现他把不相关的信息一并返回了,实际 用的信息只有其中三个,而关于判定答案部分: 以,为分隔,检测答案是否为userid和role IDOR-4在另一个接口查看自己的profile 根据描述: 就概要文件而言,我们正在使用的应用程序似乎遵循RESTful模式。许多应用程序都具有提升用户可以访问另一用户内容的角色。在这种情况下,just/profile将不起作用,因为自己用户的会话/身份验证数据不会告诉我们他们想要..
Read more